package niveles;
import java.awt.Point;

import ar.uba.fi.algo3.titiritero.ControladorJuego;
import ar.uba.fi.algo3.titiritero.SuperficieDeDibujo;
import TP2.controlador.*;
import TP2.modelo.Escenario;

public class Nivel1 implements ManejadorDeNiveles{
	//El primer nivel muestra 15 avionetas
	
	ManejadorDelJuego manejadorDelJuego;	
	ControladorJuego controlador;
	Escenario escenario;
	boolean primeraVezJugado = true;
	
	public Nivel1(ManejadorDelJuego manejador, ControladorJuego controladorJuego){
		
		manejadorDelJuego = manejador;
		controlador = controladorJuego;
		escenario = Escenario.getInstancia();
		
		//Cargo el fondo
		manejadorDelJuego.cargarFondo("Imagenes/Fondo1.png");
	}
	
	public boolean ActualizarNivel(){
		
		//Cargo el fondo
		if(primeraVezJugado){
			manejadorDelJuego.cargarFondo("Imagenes/Fondo1.png");
			//Reposiciono el avion del jugador
			escenario.getAvionDelJugador().get(0).setPosicion(new Point(250, 50));
			primeraVezJugado = false;
			return false;
		}
		
		if(escenario.getAvionesEnJuego().size() == 0){	
			//Aca va todo el codigo del nivel
			//Para crear nuevos niveles solo modificar esta parte
			
			for(int i=0; i < 8 ; i++){			
				Point posicion = new Point(i*50+50, 380);
				manejadorDelJuego.crearAvionEnemigo("Avioneta", posicion);
				controlador.agregarObjetoVivo(escenario.getAvionesEnJuego().get(escenario.getAvionesEnJuego().size()-1));
				controlador.agregarDibujable(manejadorDelJuego.listaVistasAvionesEnJuego.get(escenario.getAvionesEnJuego().size()-1));
				
			}	
			
		}
		
		return true;
	}	
	
	public void nivelReset(){
		primeraVezJugado = true;
	}
	
}
